Bluetooth Low Energy (BLE) is a radio frequency (RF) transmission technology and a communications protocol which facilitates low power communications between devices, especially mobile devices with limited battery life. BLE is widely implemented in consumer electronics devices, including Smartphones and tablets that can act as transmitting or receiving devices.
An advantage of BLE, when compared to Wi-Fi (i.e., IEEE 802.11), is that BLE devices have lower power consumption and lower cost of implementation (due to the lower system complexity and minimal infrastructure needs). Efficient data packet format and protocol design are important in designing BLE inter-device communication system because packets consume network bandwidth and device power, especially during transmission, both of which are usually very limited in typical BLE operating environments.
While typical Bluetooth communications occur in a paired (connected) state, BLE technology lets devices exchange information in a non-connected state, that is, the devices need not to be paired. BLE technology allows non-connected devices to communicate by transmitting and receiving data packets having a particular data format. Each BLE packet can be between 80 to 376 bits in length, and has a preamble, access address, Packet Data Unit (PDU), and a Cyclic Redundancy Check (CRC) calculated over the PDU. In the unconnected state, a BLE data packet can be transmitted as a BLE advertising packet or optionally as a BLE scan response packet. Advertising packets and scan response packets both share the same data format as mentioned above, and both are transmitted as advertising events. Similarly, in the unconnected state, a receiver can transmit a BLE data packet as scan response request packet to a BLE enabled transmitter.
Recently, BLE technology, at least due to the above mentioned advantages, has been implemented in wireless beacons for communication with portable or mobile wireless devices. Beacons are BLE technology based devices that transmit information (broadcast message) at regular intervals in order that receivers (receiving devices) may receive the beacon data and perform specific actions, depending on the determined location characteristics. The determined proximity or location information may be very coarse, for example, simply a determination of a receiver being in-range or out-of-range of a specific beacon, or the information may be more specific so as to permit range estimation between a specific beacon and receiver.
The beacon transmits the advertising packet data at regular intervals. It is a form of broadcast data, without a specific intended receiver. For example, a retailer may wish to provide a special offer or coupon, which may appear on the Smartphone receiving device, to customers who are physically present at a retail location. The beacon, in general, does not create the offer directly but the detected position of the receiving device with respect to the beacon can cause the action to occur. Transmitted beacon data may be received by many receivers simultaneously, and for mobile devices, the determined characteristics may rapidly change as the location of the receiving devices varies with respect to the beacon location.
In the non-connected state, a BLE technology based beacon transmits advertising data packets and can transmit scan response data packets when requested. The size of the available payload data in the BLE advertising data packets is relatively small, up to thirty one (31) bytes. Generally, most of the payload data is occupied by the advertising data the transmitting device intends to communicate to the receiving device. The advantage of using a scan response mode of operation (i.e., active scanning) is that it permits additional (extra) information to be transmitted from the beacon. A scan response packet is transmitted by the transmitting device when the receiving device transmits a scan response request data packet. The scan response data packet thus allows an additional thirty one (31) bytes to be sent from the beacon to the receivers while still in the non-connectable advertising mode.
However, a shortcoming of wireless beacon implementations is that they do not protect against unauthorized copying, alteration and use of the replicated beacon data (‘spoofing’). The beacon advertising data can be replicated using a BLE scanning device and to copy the beacon parameters into another beacon's configuration. The replicated beacon can then be used to trigger location-based services and provide misleading position data to receivers. Since BLE operates in an unlicensed frequency band, there are no significant technological or legal barriers to creating a large number of unauthorized beacons by copying beacon values from known operating beacons and provide misleading position data to receivers. The problem is further exacerbated because highly integrated BLE transceiver devices are inexpensive, and are easily available. Thus, what is needed is techniques, methods, and/or systems that can securely authenticate the data packets transmitted by a BLE technology operable device while preserving the low bandwidth utilization of the BLE connectionless state (i.e., only advertising and scan response packets). Furthermore, such techniques, methods, and/or systems need to be able to detect (and prevent) the unauthorized replication of data between communication of BLE enabled transmitters and receivers.